import java.util.Arrays;

public class Test {

    public static int binarySearch(int[] array,int key){
        int left = 0;
        int right = array.length - 1;
        int mid = 0;
        while(left <= right){
            mid = (left+right)/2;
            if(array[mid] < key){
                left = mid + 1;
            }else if(array[mid] > key){
                right = mid - 1;
            }else{
                return mid;
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6};
        System.out.println(binarySearch(a, 4));

    }

//    public static void transform(int[] array){
//        int left = 0;
//        int right = array.length - 1;
//        while(left < right){
//            while(left < right && array[left] % 2 != 0){
//                left++;
//            }
//            while(left < right && array[right] % 2 == 0){
//                right--;
//            }
//            int tmp = array[left];
//            array[left] = array[right];
//            array[right] = tmp;
//        }
//    }
//    public static int hanoi(int n){
//        if(n == 1)
//            return 1;
//        return 2*hanoi(n-1) + 1;
//    }
//
//    public static void main(String[] args) {
//        int n = 6;
//        System.out.println(hanoi(n));
//    }

//    public static double max(double x,double y,double z){
//        double max = x>y?x:y;
//        return max>z?max:z;
//    }
//
//    public static int max(int x,int y){
//        return x>y?x:y;
//    }
//
//    public static void main(String[] args) {
//        int a = 1;
//        int b = 3;
//        double x = 1.0;
//        double y = 2.4;
//        double z = 3.4;
//        System.out.println(max(a, b));
//        System.out.println(max(x, y, z));
//    }

//    public static double sum(double x,double y,double z){
//        return x+y+z;
//    }
//
//    public static int sum(int x,int y){
//        return x+y;
//    }
//
//    public static void main(String[] args) {
//        int a = 1;
//        int b = 3;
//        double x = 1.0;
//        double y = 2.4;
//        double z = 3.4;
//        System.out.println(sum(a, b));
//        System.out.println(sum(x, y, z));
//    }

//    public static int max3(int x,int y,int z){
//        int max = max2(x,y);
//        return max > z ? max : z;
//    }
//
//    public static int max2(int x,int y){
//        return x > y ? x : y;
//    }
//
//    public static void main(String[] args) {
//        int num1 = 0;
//        int num2 = 2;
//        int num3 = 4;
//
//        System.out.println(max2(num1, num2));
//        System.out.println(max3(num1, num2, num3));
//    }
}
